import express from "express";
import expressSession from "express-session";
import bodyParser from "body-parser";
import cookieParser from "cookie-parser";
import uuid from "uuid";
// import url from "url";


const server = express();


//静态资源
server.use(express.static("./../src/"));

//配置中间件
//预设
let WhiteList = ["/api/login", "/api/reg","/favicon.ico"]; // 登录,注册 不拦截
//拦截器
server.all("*", (request, response, next) => {
    response.setHeader("Content-Type","application/json;charset=utf-8");
    response.setHeader("Assess-Control-Allow-Origin","*");
    next()
    // console.log(request.originalUrl)
    // if (WhiteList.indexOf(request.originalUrl) != -1) {
    //     next();
    // } else {
    //     if (request.session["loginData"] != undefined || request.session["loginData"] != null) {
    //         next(); 
    //     } else {

    //         response.json({
    //             msg: "您还没登录,请先登录!",
    //             status: -500
    //         })
    //     }
    // }
})


server.use(expressSession({
    name: "useker.cn",
    genid: function () {
        return uuid.v1;
    },
    maxAge: 1000 * 60 * 20,
    secret: "useker.cn",
    saveUninitialized: true,
    resave: true
}))

server.use(bodyParser.urlencoded({
    extended: false
}));
server.use(bodyParser.json());
server.use(cookieParser("useker.cn"));




// //1.高新聘请一个保安大爷,目前一脸懵逼,不知道 管管哪栋
// let ApiRouter = express.Router();
// //2.给保安大爷,分配大楼 (楼的名字叫做 api大厦)
// server.use("/api", ApiRouter)
// //3.给保安大爷说清,你管理 这栋楼有哪些 公司
// ApiRouter.post("/login", (request, response, next) => {

//     var prams = [request.body.u_name, request.body.u_pwd];
//     var loginSql = "select `u_id`,`u_name`,`u_type`,`u_email` from usersinfo where u_name=? and u_pwd=?;";

//     DB.exec(loginSql, prams, function (err, row) {
//         if (err) {
//             response.json({
//                 msg: err.message,
//                 status: -2
//             })
//         }
//         if (row.length >= 1) {
//             //登录成功,就把当前登录着的信息保存到session
//             // session  能做什么? 用于在服务器端的 页面之间传值
//             request.session["isLogin"] = row[0];
//             response.json({
//                 msg: "登录成功",
//                 status: 1,
//                 data: row[0]
//             })
//         } else {
//             response.json({
//                 msg: "登录失败",
//                 status: -1
//             })
//         }
//     })

// })

// ApiRouter.post("/upload", multerObj.any(), (request, response, next) => {
//     response.end("ok");
// })





server.use("/api", require("./routes/ApiRoute").apiRouter);


server.listen(8080, () => {
    console.log("服务启动完毕");
})






// /api/login/
// /api/reg
// /api/quit

// /admin/login